前一天我們介紹可以運用技術指標來規劃股票買賣的進場點與出場點,不過股票市場瞬息萬變,並不是每一個股票市場的參與者,都有辦法時時刻刻盯盤、關注盤面狀況。這時候我們就需要「到價提醒」的功能,當滿足設定的條件時,可以讓在第一時間獲得通知,進而決定是否拋售表現不佳的持股,或者買進未來看漲的標的。
接下來的兩天,我們將介紹如何實現即時行情監控系統,以 富果行情 API 結合 LINE Notify 服務為例,打造一個屬於自己的股票監控程式。我們將這個主題分成「上」篇和「下」篇,在今日「上」篇的部分,我們會說明如何申請使用富果行情 API 與 LINE Notify 服務,以及即時行情監控系統的設計和資料處理流程。
目前國內已有許多券商提供臺股即時行情報價的 API 服務,而 玉山證券富果帳戶 的 富果股市 API 則提供了對 Node.js 最完整的支援。
富果股市 API 包含行情 API 與 交易 API,行情 API 提供即時報價與歷史股價等資訊;交易 API 可以進行下單委託及帳務查詢等功能。我們的即時行情監控系統將以富果行情 API 為例,實作後續的應用。
在使用富果股市 API 之前,您必須先擁有玉山證券富果帳戶,只要是富果帳戶的用戶即可免費使用富果行情 API,關於開戶方式可參考 玉山證券富果帳戶 網站。完成開戶後,請登入 富果股市 API 網站。
登入後,在 金鑰申請及管理 頁面,可以新增行情 API token。
富果股市 API 首頁 > 文件 > 行情 > 金鑰申請
取得 API token 後,就可以使用 富果即時行情 API。在免費方案下,行情 API 每秒可以請求 60 次;WeboSocket 可以同時有 5 個連線數。
LINE 是目前臺灣最多人使用的通訊軟體,LINE Notify 就是 LINE 提供的服務,每個 LINE 用戶都可以成為 LINE Notify 的服務提供者。只要 LINE 使用者與服務提供者完成連動後,當服務提供者透過 LINE Notify API 發送推播,LINE 的官方帳號「LINE Notify」就會向使用者或群組傳送訊息。
目前,只要是 LINE 用戶都可以免費申請使用 LINE Notify 服務。不過,仍有以下限制需要注意:
在使用 LINE Notify 服務之前,我們需要一組個人存取權杖 (Access Token) 來請求 API 發送通知。進入 LINE Notify 網站後,使用自己的帳號登入。
登入 LINE Notify 網站後,在頁面右上方個人帳戶下,點選進入 「個人頁面」。
進入 LINE Notify 個人頁面,我們可以看到「已連動的服務」和「發行存取權杖」。LINE Notify 授權是基於 OAuth 2.0 的授權碼(Authorization Code)模式,如果我們的應用程式是提供給他人使用時,就需要先取得該使用者的授權。因為我們使用 LINE Notify 訊息推播的對象是自己,所以不需要走這個授權流程,這裡我們直接按下「發行權杖」即可。
接著會跳出一個表單視窗。請填寫權杖名稱,然後接收通知的聊天室請選擇「透過1對1聊天接收Line Notify的通知」。
點選「發行」後,LINE Notify 會產生你的個人存取權杖 (Access Token)。因為這段代碼只會出現一次,請務必記住這組權杖代碼。
完成後,在「連動的服務」清單裡,就會出現我們剛剛所設定的服務。
在您的手機版或桌機版的 LINE 應用程式上,也會同步收到「已發行個人存取權杖」通知。
我們的目標是打造即時行情監控系統,因此我們會建立一個「Monitor」應用伺服器(Application Server)。為了理解之後實作的內容,我們先描繪出 Monitor 應用伺服器的系統環境圖:
在 Monitor 應用伺服器中,主要包含以下元件:
在 Monitor 應用伺服器處理資料的流程分成兩大部分,包含使用者向 Monitor 應用伺服器請求建立到價提醒,以及 Monitor 應用伺服器接收 Fugle Realtime 即時行情的資料處理。
使用者向 Monitor 應用伺服器請求建立到價提醒:
Monitor 應用伺服器接收 Fugle Realtime 即時行情::
今日「上」篇我們介紹如何申請使用富果行情 API 與 LINE Notify 服務,並說明即時行情監控系統的設計和資料處理流程。在明日「下」篇的部分,我們會著手進行即時行情監控系統的開發與實作。
本系列文已正式出版為《Node.js 量化投資全攻略:從資料收集到自動化交易系統建構實戰》。本書新增了全新內容和實用範例,為你提供更深入的學習體驗!歡迎參考選購,開始你的量化投資之旅!
天瓏網路書店連結:https://www.tenlong.com.tw/products/9786263336070